package com.dodoke.cake.service;



import com.dodoke.cake.bean.CakeProduct;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ProductListService {

	/**
	 * 根据id删除商品
	 * @param id
	 */
	void deleteCake(int id);

	CakeProduct getCakeInfo(int id);
	/**
	 * 得到所有商品数量
	 * @return
	 */
	int getAllProductCount();
	/**
	 * 得到当前页的数据
	 * @param fromWhichPage 从那一页开始
	 * @param eachPageData 每页显示多少条
	 * @return
	 */
	List<CakeProduct> getCurrentPageData(int fromWhichPage, int eachPageData);
	
	/**
	 * 根据id删除商品列表中的条目
	 * @param id
	 */
	int deleteCakeProductById(int id);

	/**
	 * 修改商品
	 */
	void upCakeProduct(CakeProduct cp);

	List<CakeProduct> selectAll();

	/**
	 * 添加商品
	 * @param cakeProduct
	 */
	void insertCake(CakeProduct cakeProduct);

	/**
	 * 得到首页推荐商品
	 * @return
	 */
	List<CakeProduct> getRecommentProduct();
	/**
	 * 得到热卖商品
	 */
	List<CakeProduct> getBestSellProduct();
	/**
	 * 根据分类id得到该分类的所有商品数量
	 * @param cid
	 * @return
	 */
	int getCakeNumByCatalogId(int cid);

	/**
	 * 根据分类id获得商品
	 * @param cid
	 * @param fromWhichData
	 * @param eachPageData
	 * @return
	 */
	List<CakeProduct> getProductByCid(@Param("cid") int cid, @Param("fromWhichData") int fromWhichData, @Param("eachPageData") int eachPageData);
}
